#ifndef _timberyard_backtrace_h_
#define _timberyard_backtrace_h_

#include <string>

namespace Timberyard {

class Backtrace {
	public:
		Backtrace(unsigned int popcount=0);
		Backtrace& Capture(unsigned int popcount=0);
		std::string AsString() const;
		virtual ~Backtrace() throw () {delete [] m_stack;};
	protected:
		void** m_stack;
		unsigned int m_depth;
};


} //namespace Timberyard

#endif // #ifndef _timberyard_backtrace_h_
